const http = require('http')
const fs = require('fs')
const url = require('url')
const path = require('path')
// 文件类型
const mime = require('mime')

const port = 3000

const server = http.createServer((req, res) => {
  // 后端路由， 根据前段请求 判断要做的
  const { pathname, query } = url.parse(req.url, true)
  // 根据路径读取文件,  因为 pathname 带 / ，所以使用 join 拼接
  const filePath = path.join(__dirname, pathname)
  fs.readFile(filePath, function(err, data) {
    let type = mime.getType(filePath)
    res.setHeader('Content-Type', (type || '' )+ ';charset=utf8')
    if(err) {
      res.statusCode = 404
      // 防止 浏览器乱码 设置类型
      return res.end('页面不存在')
    }
    // 将数据直接返回
    res.end(data)
  })
})

server.on('error', () => {
  server.listen(++port)
})

server.listen(port, () => {
  console.log('listening port: ' + port)
})

